home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 26.zip / BS1 part 26 / C for beginners.adf / source / ilatoila.c < prev    next >
Text File  |  1978-01-17  |  3KB  |  88 lines

  1. /*  Filename: "ilatoila.c"  */
  2. /**********************************************************************/
  3. /* Name:          ltoa                                                */
  4. /* Parameter:     n (long), s (String)                                */
  5. /* Return value:  -                                                   */
  6. /* Function:      Converts long value to character string              */
  7. /* Other:         requires reverse()                                  */
  8. /**********************************************************************/
  9. #define TRUE 1
  10. #define EOS '\0'
  11.  
  12. ltoa(n, s)
  13. register char s[];
  14. register long n;
  15. {
  16.   register int i = 0;
  17.   register int forechar = 0;
  18.   if (n < 0)
  19.     {
  20.       forechar = TRUE;
  21.       n = -n;
  22.     }
  23.   do
  24.     {
  25.       s[i++] = n % 10 + '0';
  26.     } while((n /= 10) > 0);
  27.   if(forechar )
  28.     s[i++] = '-';
  29.   s[i] = EOS;
  30.   reverse(s);
  31. }
  32.  
  33.  
  34. /**********************************************************************/
  35. /* Name:          itoa                                                */
  36. /* Parameter:     n (int), s (String)                                 */
  37. /* Return value:  -                                                   */
  38. /* Function:      Converts integer number to character string         */
  39. /* Other:         requires ltoa()                                     */
  40. /**********************************************************************/
  41.  
  42. itoa(n, s)
  43. register int n;
  44. register char s[];
  45. {
  46.   ltoa((long)(n),s);
  47. }
  48.  
  49.  
  50. /**********************************************************************/
  51. /* Name:          atol                                                */
  52. /* Parameter:     s (String)                                          */
  53. /* Return value:  n (long)                                            */
  54. /* Function:      Converts character string into long value           */
  55. /* Other:         -                                                   */
  56. /**********************************************************************/
  57.  
  58. long atol(s)
  59. register char *s;
  60. {
  61.   register long val;
  62.   register int sign = 1;
  63.   while(*s == ' ')
  64.     s++;
  65.   if (*s == '+' || *s == '-')
  66.     sign = (*s++ == '+') ? 1 : -1;
  67.   for(val = 0; *s >= '0' && *s <= '9'; ++s)
  68.     val = 10 * val + *s - '0';
  69.   return(sign * val);
  70. }
  71.  
  72.  
  73. /**********************************************************************/
  74. /* Name:          atoi                                                */
  75. /* Parameter:     s (String)                                          */
  76. /* Return value:  Integer number                                      */
  77. /* Function:      Converts Character string into Integer              */
  78. /* Other:         -                                                   */
  79. /**********************************************************************/
  80.  
  81. atoi(s)
  82. register char *s;
  83. {
  84.   long atol();
  85.   return(atol(s));
  86. }
  87.  
  88.